import { router } from '@/router'

/* @description 跳转到登录页面，并在需要时传递当前页面的路径作为查询参数。
 */
export function toLogin() {
  // 获取当前路由信息
  const currentRoute = unref(router.currentRoute)
  // 如果当前路由不需要认证且不在 /404 或 /login 页面，则设置 needRedirect 为 true
  const needRedirect =
    !currentRoute.meta.requireAuth && !['/404', '/login'].includes(router.currentRoute.value.path)

  // 使用 router.replace 替换当前路由，避免在浏览器历史中留下记录
  // 如果 needRedirect 为 true，则将当前路径作为 redirect 查询参数传递给登录页面。
  // 例如，如果当前路径是 /dashboard，则重定向到 /login?redirect=/dashboard
  router.replace({
    path: '/login',
    query: needRedirect ? { ...currentRoute.query, redirect: currentRoute.path } : {},
  })
}

export function toFourZeroFour() {
  // 将用户重定向到 404 页面，表示页面未找到
  router.replace({
    path: '/404',
  })
}
